package com.jmx.yp.service.employee;

import com.jmx.yp.entity.GroupEmployee;
import java.util.*;

/**
 * 
 * 功能描述：
 *			员工管理业务逻辑
 * @author Jenny
 *
 * Date:2011-1-18 下午11:38:37
 */
public interface IEmployeeService {
	/**
	 * 新增员工
	 * @param GroupEmployee
	 * @throws Exception
	 */
	abstract void addEmployee(GroupEmployee employee) throws Exception;
	
	/**
	 * 根据组织、员工编码及名称查询员工列表 
	 * @param queryGroupCode 组织代码
	 * @param queryGroupName 组织名称
	 * @param queryEmployeeCode 员工帐号
	 * @param queryEmployeeName 员工姓名
	 * @param page 当前页
	 * @return 返回MAP，包含两个参数：total, rows
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	abstract Map queryEmployeeList(String queryGroupCode, String queryGroupName, String queryEmployeeCode, String queryEmployeeName, int page) throws Exception;
	
	/**
	 * 根据ID查询员工
	 * @param serialid
	 * @return
	 * @throws Exception
	 */
	abstract GroupEmployee getEmployeeById(Long serialid) throws Exception;
	
	/**
	 * 修改员工信息
	 * @param employee
	 * @throws Exception
	 */
	abstract void updateEmployee(GroupEmployee employee) throws Exception;
	
	/**
	 * 批量删除员工
	 *    备注：为逻辑删除，标志位置状态
	 *      
	 * @param employeeIds 多个ID时以;作为分隔
	 * @param operator 操作员
	 * @throws Exception
	 */
	abstract void deleteEmployee(String employeeIds, String operator) throws Exception;
}
